﻿using System;
using System.Collections.Generic;
using System.Text;
using Ord;

namespace OrdonnanceAI
{
    static class BotBlond
    {
        static Random rnd = new Random((int)DateTime.Now.Ticks);

        // AInum = 1
        // просто выкладывает любую карту, в любой незаполненый город, где в последней карте города есть похожие картинки
        // если есть пустые города, то с вероятностью 50% туда выкладывается любая карта
        public static CardPoint PlayCard(Town[] town, List<Card> card)
        {
            #region *** выбор карты для выкладывания в город ***

            // находим случайный незаполненый город
            int NN = rnd.Next(5);
            int n = NN;
            for (int i = 0; i < 5; i++)
            {
                if (town[n].card.Count < 4) break;
                n++; if (n == 5) n = 0;
            }

            // если город пуст, выкладываем любую карту
            if (town[n].card.Count == 0)
            {
                return new CardPoint(n, rnd.Next(card.Count));
            }

            // находим любую карту с похожими картинками для последней карты этого города
            Card tnCard = town[n].card[town[n].card.Count - 1]; // последняя карта в выбранном городе
            int m = 0;
            for (int i = 0; i < card.Count; i++)
            {
                // если в последней карте выбранного города есть такие же картинки, выкладываем выбранную карту
                bool bMatch = false;

                Card hCard = card[i]; // выбранная карта в руке
                // сверяем картинки
                for (int c1 = 0; c1 < 5; c1++)
                {
                    if (tnCard.troop[c1] && tnCard.troop[c1] == hCard.troop[c1])
                    {
                        bMatch = true;
                        m = i;
                        break;
                    }
                }
                if (bMatch) break;
            }

            return new CardPoint(n, m);

            #endregion *** выбор карты для выкладывания в город ***
        }

    }
}
